The Deleterious Nature of Interacting Tiling Optimizations
نویسندگان
چکیده
A compiler may perform multiple optimizations, each with its own goal and cost function. While it is acknowledged that optimizations can interact, in practice the interactions are often ignored, and assumed to have no deleterious eeects. In this paper, we demonstrate for optimizations involving tiling that the interactions have unexpectedly harmful eeects on overall performance. Current trends in architecture toward multiple levels of memory and parallelism dictate that tiling be applied multiple times. Typically, each application corresponds to a given architectural feature (such as registers, cache, or instruction level or multiproces-sor parallelism), and has a speciied goal (such as increased parallelism or better locality). Compilers usually decide on some order for the multiple tiling transformations, and then independently apply them for each architectural feature. We show in three architectural scenarios that the goals of multiple applications of tiling can interact, and that a global strategy which exploits interactions can achieve better performance than multiple independent tiling decisions. We illustrate these points by considering abstractions of real application codes, giving both analysis and simulation results to support our points.
منابع مشابه
The Psychological Impacts of Interacting with Nature-Based Design
Our modern society is filled with stressful stimuli that impact our daily lives, and lead to problems that eventually threaten our mental and psychological wellbeing. Expanding urban life and urbanizing people's interactions have drastically increased and resulted in more stressful circumstances. Unfortunately, the role of nature and nature-based design in our urban societies as an alternative ...
متن کاملThe Combined Effectiveness of Unimodular Transformations, Tiling, and Software Prefetching
Unimodular transformations, tiling, and software prefetching are loop optimizations known to be effective in increasing parallelism, reducing cache miss rates, and eliminating processor stall time. Although these optimizations individually are quite effective, there is the expectation that even better improvements can be obtained by combining them together. In this paper we show that indeed thi...
متن کاملPower and Energy Impact by Loop Transformations
In this paper, we study the contribution of compiler optimizations to energy reduction. In particular, we are interested in the impact of loop optimizations in terms of performance and power tradeoffs. Both low-level loop optimizations at code generation (back-end) phase, such as loop unrolling and software pipelining, and high-level loop optimizations at program analysis and transformation pha...
متن کاملPolygonal tiling of some surfaces containing fullerene molecules
A tiling of a surface is a decomposition of the surface into pieces, i.e. tiles, which cover it without gaps or overlaps. In this paper some special polygonal tiling of sphere, ellipsoid, cylinder, and torus as the most abundant shapes of fullerenes are investigated.
متن کاملPrimeTile: A Parametric Multi-Level Tiler for Imperfect Loop Nests
Tiling is a crucial loop transformation for generating high performance code on modern architectures. Efficient generation of multi-level tiled code is essential for maximizing data reuse in systems with deep memory hierarchies. Tiled loops with parametric tile sizes (not compile-time constants) facilitate runtime feedback and dynamic optimizations used in iterative compilation and automatic tu...
متن کامل